package com.ylkj.web.service;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URL;
import java.util.Properties;


public class PropertyTest {
	 public static Properties props = new Properties();
	 //属性文件的路径   
	 static String profilepath="applicationContext.properties"; 
    public static void main(String[] args) { 
        
    	PropertyTest pt = new PropertyTest();
    	pt.updateProperties("phone","1002"); 
    } 
    public static void updateProperties(String keyname,String keyvalue) {   
        try {
        	//String s = this.getClass().getClassLoader().getResource(".").getPath()+"a.properties";
        	//String url = StrUtil.class.getClassLoader().getResource("/").getPath()+ profilepath;
        	URL url= PropertyTest.class.getResource("/applicationContext.properties");
        	System.out.println(url.toString().trim().substring(6));
        	 File file = new File(url.toString().trim().substring(6));  
             if (!file.isFile()) {  
                 System.out.println("文件不存在！"); 
             }
        	
            props.load(new FileInputStream(file));   
            // 调用 Hashtable 的方法 put，使用 getProperty 方法提供并行性。   
            // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。   
            OutputStream fos = new FileOutputStream(file);              
            props.setProperty(keyname, keyvalue);   
            // 以适合使用 load 方法加载到 Properties 表中的格式，   
            // 将此 Properties 表中的属性列表（键和元素对）写入输出流   
            props.store(fos, "Update '" + keyname + "' value"+keyvalue);   
        } catch (IOException e) {   
            System.err.println("属性文件更新错误");   
        }   
    } 
}